//#include <vld.h>

#include <iostream>
#include <RandomEngine.h>
#include <Managers\Service Manager\ServiceUtilities.h>

class MyLogic : public re::core::ILogic
{
public:
	MyLogic() {}
	~MyLogic() {}

	void StartUp(re::core::IFramework* framework)
	{
		//load systems that the application is going to use
		framework->LoadSystem(std::wstring(L"GraphicsModule.dll"), 10);
		//load the scene
		//IScene* scene = loader->LoadScene();
		//framework->SetupScene(false);
		framework->GetManagerContainer()->environment_manager->SetApplicationName(std::wstring(L"Random Engine TestWindow"));
	}
	void Setup(re::core::ManagerContainer* managers)
	{

		man = managers;
		state_listener = re::core::StateListenerPtr(new re::core::StateListener);


	}
	void Update(re::core::TaskId id)
	{
		//man->service_manager->MakeServiceRequest(

	
		
	}
	void ShutDown()
	{
		
	}
	int GetPriority()
	{
		return 5;
	}

	re::core::ManagerContainer* man;
	re::core::StateListenerPtr state_listener;
};
int main()
{
	re::core::RandomEngine engine;
	MyLogic *logic = new MyLogic;
	engine.Run(logic);
	return 0;
}